#ifndef __UART_PROCESS_H
#define __UART_PROCESS_H

#include "user_cfg.h"
#include "n32g003.h"

// #define UARTy            UART1
// #define UARTy_CLK        RCC_APB_PERIPH_UART1
// #define UARTy_GPIO       GPIOA
// #define UARTy_GPIO_CLK   RCC_APB_PERIPH_IOPA
// #define UARTy_RxPin      GPIO_PIN_3
// #define UARTy_TxPin      GPIO_PIN_2
// #define UARTy_Rx_GPIO_AF GPIO_AF2_UART1
// #define UARTy_Tx_GPIO_AF GPIO_AF2_UART1
// #define UARTy_APBxClkCmd RCC_APB_Peripheral_Clock_Enable
// #define UARTy_IRQn       UART1_IRQn
// #define UARTy_IRQHandler UART1_IRQHandler


#define UARTy            UART2
#define UARTy_GPIO       GPIOA
#define UARTy_CLK        RCC_APB_PERIPH_UART2
#define UARTy_GPIO_CLK   RCC_APB_PERIPH_IOPA
#define UARTy_RxPin      GPIO_PIN_3
#define UARTy_TxPin      GPIO_PIN_2
#define UARTy_Rx_GPIO_AF GPIO_AF1_UART2
#define UARTy_Tx_GPIO_AF GPIO_AF1_UART2
#define UARTy_APBxClkCmd RCC_APB_Peripheral_Clock_Enable
#define UARTy_IRQn       UART2_IRQn
#define UARTy_IRQHandler UART2_IRQHandler

// #define UARTz            UART2
// #define UARTz_GPIO       GPIOA
// #define UARTz_CLK        RCC_APB_PERIPH_UART2
// #define UARTz_GPIO_CLK   RCC_APB_PERIPH_IOPA
// #define UARTz_RxPin      GPIO_PIN_1
// #define UARTz_TxPin      GPIO_PIN_2
// #define UARTz_Rx_GPIO_AF GPIO_AF1_UART2
// #define UARTz_Tx_GPIO_AF GPIO_AF1_UART2
// #define UARTz_APBxClkCmd RCC_APB_Peripheral_Clock_Enable
// #define UARTz_IRQn       UART2_IRQn
// #define UARTz_IRQHandler UART2_IRQHandler

void Send_Init(void);

void Uarty_Init(void);

void Uart_Data_Pack(uint16_t key_value);


#endif
